unit BaseTypes;

interface

const
  IID_IMedia: TGUID = '{6920C935-8F4F-49B3-8808-34D0539B54C5}';
  IID_ISound: TGUID = '{8B3ACC51-A409-4952-9A78-7689E0154D12}';
  IID_ICore: TGUID = '{B0DB72D9-72D9-4E65-B131-A7BF224A324E}';

type
  TResult = integer;

  ICore = interface
  ['{B0DB72D9-72D9-4E65-B131-A7BF224A324E}']
    function Initialize: TResult;
  end;

  ISound = interface
  ['{8B3ACC51-A409-4952-9A78-7689E0154D12}']
    function Initialize: TResult;
    function GetInterface(IID: TGuid; out Obj): TResult;
    function Load(FileName: AnsiString): TResult;
    function BuildGraph: TResult;
  end;

  IVolume = interface
  ['{6A265EE4-49D0-4172-B984-A01F3091A316}']
  end;

  IMedia = interface
  ['{6920C935-8F4F-49B3-8808-34D0539B54C5}']
    function Play(FileName: AnsiString): TResult;
    function Stop: TResult;
    function Pause: TResult;
  end;

implementation

end.
